#pragma once

class VC_Drawable
{
private:
	int m_x;
	int m_y;
protected:
	static sf::RenderWindow *m_rWindow;
public:
	virtual ~VC_Drawable() {};

	virtual void handleEvent(sf::Event e);
	virtual void render() = 0;
	virtual void update() = 0;

	int mouseX() { return m_x; };
	int mouseY() { return m_y; };

	static void					setRenderWindow(sf::RenderWindow *w) { m_rWindow = w; }
	static sf::RenderWindow*	renderWindow()						 { return m_rWindow; }

private:
	void handleMouse(sf::Event e);
};